type Env = Record<string, string>;

export const createServerConfig = (env: Env): { [key: string]: any } => {
  const {
    VITE_APP_PROXY_GATEWAY: proxyKey,
    VITE_APP_BASE_API: proxyTarget,
    VITE_APP_PROXY_PORT: proxyPort,
    VITE_APP_ORIGIN: origin,
  } = env;

  return {
    hmr: { overlay: false }, // 禁用或配置 HMR 连接 设置 server.hmr.overlay 为 false 可以禁用服务器错误遮罩层
    host: '0.0.0.0', // localhost启动
    // 服务配置
    origin,
    port: proxyPort, // 类型： number 指定服务器端口;
    open: true, // 类型： boolean | string在服务器启动时自动在浏览器中打开应用程序；
    cors: true, // 类型： boolean | CorsOptions 为开发服务器配置 CORS。默认启用并允许任何源
    headers: {
      'Access-Control-Allow-Origin': '*',
    },
    proxy: {
      [proxyKey]: {
        target: proxyTarget,
        secure: false, // 如果是https接口，需要配置这个参数
        changeOrigin: true, // 如果接口跨域，需要进行这个参数配置
        rewrite: (path: string) => path.replace(proxyKey, ''),
      },
    },
  };
};
